1. Field of the Invention
The present invention relates to the field of natural language understanding (NLU) and, more particularly, to a method and system to facilitate user interaction in an NLU application.
2. Description of the Related Art
Natural Language Understanding (NLU) systems have been increasingly utilized for interfacing with software applications, customer support systems, embedded devices, and voice interactive based machines. Most NLU systems are employed to interact with a user, to receive text or voice, and to determine what the user desires the machine to accomplish. NLU systems can interpret a text or spoken utterance for performing a programmatic action. Typically, a user speaks into the device or machine and the NLU application performs a responsive action. For example, the NLU application can interpret a caller's request and identify the most appropriate destination to route the caller to by recognizing content within the spoken request.
Callers often have difficulty using an NLU application because the caller may not know what word should be spoken to the application. The caller can become frustrated when the NLU application misinterprets the caller's request and routes the caller to an incorrect destination, or simply does not process or respond to the caller's request. Accordingly, the user may not have a satisfactory experience with the NLU application. To improve understanding performance, the NLU system can employ domain specific vocabularies to process a caller request for routing a caller to a destination. A different NLU system can be used for different applications such as airline reservations, car rentals, hotel reservations, and other service based inquiry systems. The NLU system can recognize phrases particular to a certain terminology or field. Accordingly, the NLU system can be trained to interpret certain phrases to improve interpretation performance. The NLU system can be trained for specific phrases and sentences that are more representative of the requests callers may typically have with the service offering.
Currently, developing a NLU system is a mostly manual process in which statistical models are built from a corpus of user utterances that represent what a caller might say in response to the system prompts. As part of the development of these types of applications, developers may make decisions about examples of legitimate utterances that can be presented to callers in help prompts messages. However, the sentences selected by developers to present in the help prompts may be ambiguously interpreted or completely misinterpreted by the NLU statistical models with a consequence that the NLU application may not associate the sentences with the correct response to a caller's question or statement. Accordingly, the NLU application's ability to correctly process a caller's request depends on the content and relevance of the sentences the developer entered into the NLU database during development. A high level of substantive content within the example sentences can be required within an NLU system for the NLU application to correctly interpret spoken requests from the caller. In practice, the developer generally decides what sentences should be entered into the NLU database prior to knowing the target NLU application. The developer also typically provides many different examples in anticipation of generally spoken caller requests since the developer does not know what requests to expect.
It is very effective for applications to offer assistance to callers by providing examples phrases through help prompts or otherwise, that the caller can use to interact with the system. Presently, NLU application development environments provide little support for coming up with or knowing what phrases or sentences the NLU application is capable of processing. Currently, the design of caller examples and the validation of examples is a manual process that is poorly understood by developers and often overlooked in practice. Therefore, there is a need for developers to convey to callers of an NLU application examples of statements to facilitate a favorable and responsive interaction with the application, and a need to make it easy for developers to provide high-quality examples. By encouraging users to use examples provided by a developer, the developer can significantly improve the NLU system's usability.